#ifndef WORKINGAREA_H
#define WORKINGAREA_H
#include <QWidget>

namespace ExecTerminalImplNS
{
    class SlidingWindow;
    class PanelMover;
    class ControlPanel;
    class FavoritesPanel;
    class SplitteredLayout;

    class WorkingArea: public QWidget
    {
        Q_OBJECT
    public:
        WorkingArea(QWidget * parent);

        QWidget * centralWidget()const;
        void  setCentralWidget(QWidget *);
        ControlPanel * controlPanel()const;
        SplitteredLayout * centralLayout()const;

    protected slots:
        void changeOrientation();
        void switchVisibility();
        void vertSlidingFinished();

    private:
        void initMainWidgets();
        void doVertLayout(bool isTopLayout);

    private:
        SlidingWindow * theTopPanelSlider;
        ControlPanel * theControlPanel;
        PanelMover * theTopPanelMover;

        SplitteredLayout * theCentralLayout;
    };
}

#endif

